package Package.ListIterators;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class List_Iterators {
    public static final void List_Iterators(){
        List<String> list = new ArrayList<String>();
        list.add("Hello");
        list.add("World");
        list.add("java");
        ListIterator<String> lis=list.listIterator();
//        正向
        while (lis.hasNext()){
            String s=lis.next();
            System.out.println(s);

        }
//        逆向
        while (lis.hasPrevious()){
            String s=lis.previous();
            System.out.println(s);

        }
//        ConcurrentModificationExceptions中的案例
        while (lis.hasNext()){
            if (lis.next().equals("World")){
                lis.add("javaee");
            }
        }
        System.out.println(list);
    }
}
//ListIterator介绍
//通过List集合的listIterator()方法得到，所以说它是List集合特有的迭代器
//用于允许程序员沿任一方向遍历的列表迭代器，在迭代期间修改列表，并获取列表中迭代器的当前位置